ITS: GPU: adapt seed refit#14877
Conversation
|
REQUEST FOR PRODUCTION RELEASES: This will add The following labels are available |
shahor02
left a comment
There was a problem hiding this comment.
Thanks! See some comments below.
| const float tgl12 = math_utils::computeTanDipAngle(x1, y1, x2, y2, z1, z2); | ||
| const float tgl23 = math_utils::computeTanDipAngle(x2, y2, x3, y3, z2, z3); | ||
| const float q2pt = zeroField ? 1.f / o2::track::kMostProbablePt : crv / (bz * o2::constants::math::B2C); | ||
| const float q2pt = zeroField ? sign / o2::track::kMostProbablePt : crv / (bz * o2::constants::math::B2C); |
There was a problem hiding this comment.
sign (in case of reverse) should be applied to the right if choice, to invert the curvature
| const float tgp = zeroField ? sign * o2::gpu::CAMath::ATan2(y3 - y1, x3 - x1) : 1.f; | ||
| const float crv = sign * (zeroField ? 1.f : math_utils::computeCurvature(x3, y3, x2, y2, x1, y1)); | ||
| const float snp = (zeroField ? tgp / o2::gpu::CAMath::Sqrt(1.f + tgp * tgp) : crv * (x3 - math_utils::computeCurvatureCentreX(x3, y3, x2, y2, x1, y1))); |
There was a problem hiding this comment.
The sign inversion should be applied to snp (and crv, see later) rather than to tgp.
| tgp = sign * o2::gpu::CAMath::ATan2(y3 - y1, x3 - x1); | ||
| snp = tgp / o2::gpu::CAMath::Sqrt(1.f + tgp * tgp); | ||
| q2pt *= sign; | ||
| } else { | ||
| crv = math_utils::computeCurvature(x3, y3, x2, y2, x1, y1); | ||
| crv = sign * math_utils::computeCurvature(x3, y3, x2, y2, x1, y1); | ||
| snp = crv * (x3 - math_utils::computeCurvatureCentreX(x3, y3, x2, y2, x1, y1)); |
There was a problem hiding this comment.
Here too:for the reverse clusters order the snp and crv signs should be inverted.
Signed-off-by: Felix Schlepper <felix.schlepper@cern.ch>
Signed-off-by: Felix Schlepper <felix.schlepper@cern.ch>
@shahor02 this is the corresponding GPU adaptation of the refit with new linearisation point&reseeding.


Comparing 100 TFs GPU/CPU in deterministic mode shows 1:1 output.
Inward param:
Outward param:
Note to
buildTrackSeed, I added areverseoption to account for the sign change in the curvature if the clusters are given in reverse order.